The advancement of computer networks has enabled vast amounts of information to be shared across multiple computers. These networks may include smaller private networks, such as enterprise networks, as well as larger, publicly-accessible networks, such as the Internet. As the amount of information that is shared over computer networks has increased, the ability for users to retrieve desired information in an efficient manner has become increasingly important.
Search engines have been developed to address the problem of finding desired information on a network. In a typical implementation, a user enters one or more search terms into a dialog box provided by a search engine. Upon receiving the search terms from the user, the search engine then returns search results based on the search terms. For example, the search engine may return a list of network locations, such as uniform resource locators (“URLs”), that link to documents containing one or more of the search terms. This approach is commonly referred to as a keyword search.
Although keyword searching is the prevalent technology implemented in many conventional search engines, keyword searching has significant drawbacks. In particular, humans typically ask questions in a format that is not conducive to keyword search. For example, a user may enter a question “is a butterfly as small as a mouse?” into a conventional search engine. Upon receiving the question, the conventional search engine may blindly search for documents that include the terms “is,” “a,” “butterfly,” “as,” “small,” and “mouse.” The search engine may even ignore common terms, such as “is,” “a,” and “as.” In this case, the search engine will simply return documents containing the terms “butterfly,” “small,” and “mouse.”
The documents returned by the conventional search engine may be entirely unrelated to the user's question. For example, the search engine may return documents describing small butterflies, small mice, and/or other irrelevant information, rather than documents describing the size of butterflies in relation to the size of mice. That is, the question “is a butterfly as small as a mouse?” is actually a question about the relative sizes of butterflies and mice. While a human instinctively recognizes this meaning, search engines performing a keyword search generally do not have this ability. As a result, conventional search engines may not effectively resolve many natural language queries.
It is with respect to these considerations and others that the disclosure made herein is presented.